import java.util.ArrayList;
import java.util.List;

public class BBSD1 {
    //两个角色A和B，攻击冷却时间分别为k1，k2秒，每次攻击能分别造成d1,d2的伤害。只要未在冷却中，角色可以自由选择攻击的时机，
    //但只能在整数秒发动攻击。战斗时间总长为t秒。k1,k2,d1,d2,t都是正整数。
    //战斗中有额外规则：若两个角色在同一时刻一起攻击，则每个角色造成的伤害额外提升x%，x>0。
    // 请编写一段代码，计算两个角色在整场战斗中一共最多能造成多少伤害。
    public double damage(int k1,int k2,int d1,int d2,int t,int x) {
        //创建两个数组将A和B的攻击时间记录下来
        //第0秒就放技能
        int attackCountA = t / k1 + 1;
        int attackCountB = t / k2 + 1;
        List<Integer> attackTimeA = new ArrayList<>();
        List<Integer> attackTimeB = new ArrayList<>();
        attackTimeA.add(0);
        attackTimeB.add(0);
        for (int i = 1; i < attackCountA; i++) {
            if (i == 1) attackTimeA.add(k1);
            else attackTimeA.add(attackTimeA.get(i - 1) + k1);
        }
        for (int i = 1; i < attackCountB; i++) {
            if (i == 1) attackTimeB.add(k2);
            else attackTimeB.add(attackTimeB.get(i - 1) + k2);
        }
        //记录总伤害
        double sum = 0.0;
        //第t秒极限放出技能
        for (int i = 0; i <= t; i++) {
            //A和B同时攻击
            if (attackTimeA.contains(i) && attackTimeB.contains(i)) {
                sum += (d1 + d2) * (1.0 + x * 1.0 / 100);
            }else {
                if (attackTimeA.contains(i)) {
                    //A攻击
                    sum += d1 * 1.0;
                }
                if (attackTimeB.contains(i)) {
                    sum += d2 * 1.0;
                }
            }
        }
        return sum;
    }
}
